/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package alpes.aerolinea.persistencia;

import alpes.aerolinea.entities.ServicioVideoPeliculas;
import alpes.aerolinea.entities.ServicioVideoSeries;
import alpes.aerolinea.entities.ServicioVideoVideos;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Stateless;

/**
 *
 * @author Daniel
 */
@Stateless
public class PersistenciaServicesMock implements IPersistenciaServices {

    private static ArrayList sData;
     private static ArrayList pData;
      private static ArrayList vData;

    public PersistenciaServicesMock() {
        if (sData == null) {
            sData = new ArrayList();

            for (int i = 0; i < 12; i++) {
                ServicioVideoSeries serie = new ServicioVideoSeries(1500 + i*25, "Nombre Serie " + i, "", "s"+i);
                sData.add(serie);
            }
        }
         if (pData == null) {
            pData = new ArrayList();

                ServicioVideoPeliculas pelicula = new ServicioVideoPeliculas(1500, "Las mil y una noches - WB", "");
                pData.add(pelicula);
           pelicula = new ServicioVideoPeliculas(3560, "El regreso de Bambi - Disney", "");
                pData.add(pelicula);
             pelicula = new ServicioVideoPeliculas(1500, "Blanca nieves y los 7 enanitos - Disney", "");
                pData.add(pelicula);
              pelicula = new ServicioVideoPeliculas(3560, "La cenicienta - Disney", "");
                pData.add(pelicula);

                    pelicula = new ServicioVideoPeliculas(1500, "LA manzana asesina - Disney", "");
                pData.add(pelicula);
             pelicula = new ServicioVideoPeliculas(1500, "La bruja de tu madre - Fox", "");
                pData.add(pelicula);
              pelicula = new ServicioVideoPeliculas(3560, "Hasta el fondo - Disney", "");
                pData.add(pelicula);

                    pelicula = new ServicioVideoPeliculas(3560, "Litte Miss sunshine - Columbia", "");
                pData.add(pelicula);
             pelicula = new ServicioVideoPeliculas(1500, "Ohio, the dead state - Disney", "");
                pData.add(pelicula);
              pelicula = new ServicioVideoPeliculas(3560, "Revenge - Disney", "");
                pData.add(pelicula);

         }

        if (vData == null) {
            vData = new ArrayList();

                ServicioVideoVideos video = new ServicioVideoVideos(3000, "Je m'apelle funny bear - Dj Pablito", "/images/video1.png");
                vData.add(video);
                video = new ServicioVideoVideos(2500, "Dame tu corazon - Pop Stars", "");
                vData.add(video);
                video = new ServicioVideoVideos(3000, "Siente el ritmo - Patito Feo", "");
                vData.add(video);
                video = new ServicioVideoVideos(1250, "Dentro de ti - Las aguaitas", "");
                vData.add(video);
                video = new ServicioVideoVideos(2500, "Las locas - Pop Stars", "");
                vData.add(video);
                video = new ServicioVideoVideos(3000, "Viva la vida - Patito Feo", "");
                vData.add(video);
                video = new ServicioVideoVideos(1250, "Sientelo - Las aguaitas", "");
                vData.add(video);
                video = new ServicioVideoVideos(2500, "A mi me gusta - Pop Stars", "");
                vData.add(video);
                video = new ServicioVideoVideos(3000, "Pa lante es pa pa - Patito Feo", "");
                vData.add(video);
                video = new ServicioVideoVideos(1250, "Olvida mejor olvidala - Las aguaitas", "");
                vData.add(video);



         }

    }

    @Override
    public void create(Object obj) {
        if (obj instanceof ServicioVideoSeries) {
            ((ServicioVideoSeries) obj).setIdentification(sData.size() + "");
        }
        sData.add(obj);
    }

    @Override
    public void update(Object obj) {
        sData.set(sData.indexOf(obj), obj);
    }

    @Override
    public void delete(Object obj) {
        sData.remove(obj);
    }

    @Override
    public List findAll(Class c) {

     String nombre = c.getSimpleName();

   

        if(nombre.equals("ServicioVideoPeliculas"))
        {

        return pData;
        }
        else if(nombre.equals("ServicioVideoVideos"))
        {
        return vData;
        }
        else{
        return sData;
        }
        }

    @Override
    public Object findById(Class c, Object id) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean existe(Object nombreSerie) {
        String nombre = (String) nombreSerie;
        for (int i = 0; i < sData.size(); i++) {
            ServicioVideoSeries s = (ServicioVideoSeries) sData.get(i);
            if (nombre.equals(s.getNombreSerie())) {
                return true;
            }
        }
        return false;
    }

    public Object findByNombre(Class c, Object nombre) {
        String nom=(String)nombre;
        for(int i=0; i<sData.size();i++)
        {
            ServicioVideoSeries s =(ServicioVideoSeries) sData.get(i);
            if(s.getNombreSerie().equals(nom))
            {
                return s;
            }
        }
        return null;
    }

    public Object findByID(Class c, Object id) {
        String nom=(String)id;
        for(int i=0; i<sData.size();i++)
        {
            ServicioVideoSeries s =(ServicioVideoSeries) sData.get(i);
            if(s.getIdentification().equals(nom))
            {
                return s;
            }
        }
        return null;
    }
}